package com.laoxiang.modules.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.laoxiang.modules.system.entity.SysPost;
import com.laoxiang.modules.system.entity.dto.PageDTO;
import com.laoxiang.modules.system.entity.vo.QueryPostVO;
import com.laoxiang.modules.system.entity.vo.QueryRoleVO;

import java.util.List;


/**
 * 岗位信息表(SysPost)表服务接口
 *
 * @author db
 * @since 2023-09-03 22:43:54
 */
public interface SysPostService extends IService<SysPost> {

    /**
     * 获得所有岗位信息，用于修改用户信息时显示
     * @return
     */
    List<SysPost> getPostList();

    /**
     * 查询条件获得岗位列表
     * @param pageNum
     * @param pageSize
     * @param queryPostVO
     * @return
     */
    PageDTO getPosts(Integer pageNum, Integer pageSize, QueryPostVO queryPostVO);

    /**
     * 新增岗位
     * @param sysPost
     */
    void addPost(SysPost sysPost);

    /**
     * 通过id获得岗位信息
     * @param postId
     */
    SysPost getPostById(Long postId);

    /**
     * 更新岗位信息
     * @param sysPost
     */
    void updatePost(SysPost sysPost);

    /**
     * 删除岗位信息
     * @param postId
     */
    void deletePostById(Long postId);

    /**
     * 检查岗位名称是否唯一
     * @param postName
     * @return
     */
    boolean checkPostNameUnique(String postName);

    /**
     * 批量删除岗位
     * @param postIds
     */
    void batchDeletePost(List<Long> postIds);

}


